1
Fundamentos del Desarrollo de Núcleos CUDA
AI021Lesson 2
00:00

El desarrollo de núcleos CUDA comienza con la definición de un núcleo, que es una función especializada de C++ diseñada para ejecutarse en paralelo a través del gran número de núcleos de un GPU de NVIDIA. Estas funciones representan la unidad básica de trabajo en el modelo de programación CUDA, actuando como el puente donde la lógica secuencial del host se transforma en una ejecución masivamente paralela en el dispositivo.

1. El especificador __global__

El __global__ es un especificador de declaración obligatorio que indica al compilador generar código para la GPU manteniendo el punto de entrada de la función visible desde el CPU. Las funciones que se ejecutan en la GPU y que pueden ser invocadas desde el host se denominan núcleos.

2. Entorno de Ejecución

Los núcleos se envían y ejecutan en Multiprocesadores de Flujo (SMs). El SM es el motor computacional principal dentro de una GPU de NVIDIA responsable de gestionar cientos de hilos concurrentes. Cada SM maneja bloques de hilos y los programa en los núcleos de procesamiento.

Regla de Sintaxis: Los núcleos deben devolver estrictamente void. Debido a que operan de forma asíncrona respecto al host, no pueden devolver un valor directamente al CPU; deben escribir los resultados de vuelta en la memoria de dispositivo asignada.

Host (CPU)Dispositivo (GPU de NVIDIA)FlujoMultiprocesador (SM)Lanzamiento de Núcleo
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>